﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Htse.Blue.Data;
using Htse.Blue.Models;
using System.ComponentModel;

namespace Htse.Blue.Logic
{
	public interface IService<T, K, R>
		where T : class
		where K : struct
		where R : IRepository<T, K>
	{
		IQueryable<T> GetAll();

		PagedList<T> GetAll(int? page, int pageSize, string sortingParameter);

		T GetById(K id);

		bool Create(T entityToCreate);

		bool Update(T entityToUpdate);

		bool Delete(T entityToDelete);
	}
}
